# -*- coding:utf-8 -*-

from flask import Blueprint, render_template# 引入render_template模块
import sqlite3
# Blueprint必须制定两个参数，spiderTop250表示蓝图的名字，__name__表示蓝图所在的模块
bp = Blueprint('spiderTop250', __name__)

# http://127.0.0.1:5000/  浏览器会根据装饰器中的''参数进行匹配对应的视图函数
@bp.route('/')  # 装饰器，根据它来找对应的视图函数
def index():  # 视图函数  主页
    # return 'Hello World!'#return返回的返回值，最后作为响应返回给浏览器了
    # 不再返回字符串，而是返回一个render_template('temp.html')函数
    # 函数参数是网页的路径地址
    return render_template('index.html')



# 电影列表页面
@bp.route('/movie')
def movie():  # 读取数据库中的数据，把数据展示到网页中。
    # 创建一个列表movies，用来存电影信息
    movies = []
    # 指定要打开的数据库  创建数据库连接
    conn = sqlite3.connect('movie.db')
    # 创建游标
    cur = conn.cursor()
    # 编写sql语句
    sql = '''
        SELECT * FROM movietop250

    '''
    # 执行sql语句，查询表中的数据记录
    datas = cur.execute(sql)
    # 循环，取出每一条记录的每一个数据
    for item in datas:
        movies.append(item)
    # 关闭游标
    cur.close()
    # 关闭数据库连接
    conn.close()
    # 把movies列表返回到movie.html,需要添加一个关键字参数，参数名自己指定
    return render_template('movie.html', movies=movies)


# 评分页面
@bp.route('/score')
def score():
    scores = []  # 电影评分  是一个列表
    movieNum = []  # 每一种评分的电影数量 是一个列表
    conn = sqlite3.connect('movie.db')  # 指定要打开的数据库  创建数据库连接
    cur = conn.cursor()  # 创建游标
    # 编写sql语句
    # 分组查询---没学过不要紧，如果自己写的是不会写，找我。
    sql = '''
        SELECT rating,count(rating) FROM movietop250 GROUP BY rating
    '''
    datas = cur.execute(sql)  # 执行sql语句，查询表中的数据记录
    for item in datas:  # 循环，取出每一条记录的数据
        scores.append(str(item[0]))  # 把第一列数据追加到scores列表中
        movieNum.append(item[1])  # 把第二列数据追加到movieNum列表中
    cur.close()  # 关闭游标
    conn.close()  # 关闭数据库连接
    return render_template('score.html', scores=scores, movieNum=movieNum)



# 团队页面
@bp.route('/team')
def team():
    myTeam = []
    conn = sqlite3.connect('movie.db')
    cur = conn.cursor()
    sql = '''
            SELECT * FROM team

        '''
    datas = cur.execute(sql)
    for item in datas:
        myTeam.append(item)
    cur.close()
    conn.close()
    return render_template('team.html', myTeam=myTeam)
